package com.boot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 问题表，用于存储用户提交的问题
 * </p>
 *
 * @author bbyh
 * @since 2025-10-31
 */
@Getter
@Setter
public class Question implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 问题ID，主键，自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 问题标题，最大长度200字符
     */
    private String title;

    /**
     * 问题类型，例如：前端、后端、运维等
     */
    private String type;

    /**
     * 问题详细描述
     */
    private String description;

    /**
     * 期望结果或补充说明（可选）
     */
    private String expected;

    /**
     * 提问用户ID，关联用户表
     */
    private Long userId;

    /**
     * 问题状态，取值范围：pending_review（待审核）、rejected（被驳回）、waiting（等待接单）、in_progress（处理中）、resolved（已解决）、awaiting_admin（等待管理员干预）
     */
    private String status;

    /**
     * 审核备注或驳回原因
     */
    private String reviewNotes;

    /**
     * 审核完成时间（通过或驳回的时间）
     */
    private LocalDateTime reviewedAt;

    /**
     * 创建时间，默认当前时间戳
     */
    private LocalDateTime createdAt;

    /**
     * 问题解决时间
     */
    private LocalDateTime resolvedAt;
}
